package se.teamscape.client.gin;

import net.customware.gwt.dispatch.client.gin.StandardDispatchModule;
import net.customware.gwt.presenter.client.EventBus;
import net.customware.gwt.presenter.client.place.PlaceManager;
import se.teamscape.client.presenter.AppPresenter;
import se.teamscape.client.presenter.EastContainerPresenter;
import se.teamscape.client.presenter.NorthContainerPresenter;
import se.teamscape.client.presenter.SouthContainerPresenter;
import se.teamscape.client.presenter.WestContainerPresenter;

import com.google.gwt.inject.client.GinModules;
import com.google.gwt.inject.client.Ginjector;

/**
 * Our Ginjector where we define GIN modules and getters.
 * 
 * @author Andreas Borglin
 * 
 */
@GinModules( { TeamScapeClientModule.class, StandardDispatchModule.class })
public interface TeamScapeGinjector extends Ginjector {

    public AppPresenter getAppPresenter();

    public NorthContainerPresenter getNorthPresenter();

    public SouthContainerPresenter getSouthPresenter();

    public WestContainerPresenter getWestPresenter();

    public EastContainerPresenter getEastPresenter();

    public PlaceManager getPlaceManager();

    public EventBus getEventBus();
}
